This invention relates generally to call processing and more particularly to call processing in data networks.
Packet data networks, such as the Internet, are becoming increasingly popular. Such packet data networks are used for various communication purposes, such as file transfer, email, and distribution of multimedia information (e.g. the World Wide Web). Recently, packet data networks have been employed for telephony calls.
Specialized computer software is available which allows parties connected to the Internet via a computer to carry on a voice conversation. On the transmission end, the software configures the computer to receive voice signals from a user (e.g. from a microphone connected to the computer), convert the voice signals into packet data appropriate for transmission via the Internet, and transmit the signals to the other party via the Internet. On the receiving end, the software configures the computer to receive the packet data from the Internet, convert the packet data to voice signals, and to send to the voice signals to a speaker such that a user can hear the voice of the transmitting party.
Many users of packet data voice communication software do not have direct connections to the Internet. Such users connect their computers to the Internet via a telephone line connection and a modem. The user connects to the Internet by placing a modem call to an Internet access provider (IAP), which then provides the user with a connection to the Internet.
One problem with Internet telephony is that users at both ends of the communication must be connected to the Internet prior to establishing the telephony connection. This is because there is no way to notify a user that an Internet telephony call is waiting unless that user""s computer is connected to the Internet. This results in a problem because, as state above, most Internet users do not have a direct and permanent connection to the Internet, rather they place a modem call to an IAP when they desire to connect to the Internet. In the context of Internet telephony, this means that both ends of the Internet call must know a particular time when the conversation is desired, and be sure to be connected at that time. One way to accomplish this is to have a predetermined time for the call. However, this is undesirable in that people""s schedules often change and thus a predetermined time may be difficult to establish. Another problem with a predetermined time is that a voice call is often initiated by a calling party to the called party and the exact time of such initiation is unknown to the called party. One way to deal with this is that the calling party first places a conventional telephone call to the called party and requests that the called party connect a computer to the Internet in anticipation of an Internet telephony call from the calling party. Both parties then terminate the conventional telephone call, connect their respective computers to the Internet via their IAPs, and the Internet telephony call may then be established. This solution is both inconvenient and costly because it requires a conventional telephone call (often long distance) to be placed for the sole purpose of setting up an Internet telephony call.
Thus, it would be desirable to have a system and method for more efficient packet data network telephony call processing.
The present invention provides a method and apparatus for improved processing of data network communication calls. In accordance with the invention, a network node receives a call initiation request from a calling party device wherein the call initiation request includes information describing alternative called party devices and the relative priority of each device. This call initiation request informs the network node as to which called party device(s) the calling party wishes to initiate communication with and the priority to give to each device. Upon receipt of the call initiation request, the network node determines the highest priority called party device which is available and establishes communication between the calling party device and the highest priority called party device which is available.
In accordance with another aspect of the invention, the calling party device is a computer and the highest priority called party device which is available is a computer. In accordance with this aspect of the invention, the network node establishes a data network communication call in which voice data is passed between the computers in order to facilitate a voice call.
In accordance with another aspect of the invention, the calling party device is a computer and the highest priority called party device which is available is a telephone connected to the public switched telephone network. In accordance with this aspect of the invention, the network node establishes a data network connection with the calling party computer and a telephone connection with the called party telephone. The network node converts voice data received from the calling party computer into voice signals and tansmits the voice signals to the called party telephone via the telephone network. The network node also converts voice signals received from the called party into voice data and transmits the voice data to the calling party computer via the data network.
In accordance with another aspect of the invention the calling party device is a computer and the highest priority called party device which is available is a mobile station connected to a wireless communication network. In accordance with this aspect of the invention, the network node establishes a data network connection with the calling party computer and a telephone connection with the called party telephone via the wireless communication network. The network node converts voice data received from said calling party computer into voice signals and transmits the voice signals to the called party telephone. The network node also converts voice signals received from the called party into voice data and transmits the voice data to the calling party computer.
In accordance with another aspect of the invention the calling party device is a computer and the highest priority called party device which is available is a pager connected to a paging network. In accordance with this aspect of the invention the network node sends an appropriate data paging signal to the paging network.
In accordance with another aspect of the invention the network node sends status messages to the calling party device.
In accordance with another aspect of the invention, the call initiation request contains information describing alternative called party devices, but may not contain relative priority of each called party device. In this embodiment, the packet data network node attempts to initiate communication with all of the devices specified in the call initiation request concurrently by sending an appropriate request to each of the devices. The network node establishes communication between the calling party and the first called party device which responds to the request, or to the first called party device which becomes available.
These and other advantages of the invention will be apparent to those of ordinary skill in the art by reference to the following detailed description and the accompanying drawings.